function [w,C] = w_match_multiplicative_nouncert_fun(v_old,p,f_p,g_I,Np,N,cdf,gamma,index_p_gamma);

w = zeros(Np,N);
v_gamma = zeros(Np,N);
for i = 1:Np
    if index_p_gamma(i,1)~= 0
      v_gamma(i,:) = v_old(index_p_gamma(i),:);  
    end
end
pmin = min(find(index_p_gamma~= 0));
v_gamma(1:pmin-1,:) = repmat(v_gamma(pmin,:),pmin-1,1);
mean_mat = zeros(Np,N); 
for l = 1:N                 
            MatVml=max(repmat(v_old(:,l),1,Np)-repmat(transpose(v_gamma(:,l)),Np,1),0);
            mean_mat(:,l) = transpose(MatVml)*transpose(f_p);
            for i = 1:Np
                temp = find(MatVml(:,i)==0);
                index = Np - size(temp,1);
                if index>0
                    p_reservation(i,l) = (p(index));
                    H_p_reservation(i,l) = (cdf(index));
                end
            end
           
            clear vars temp index;
end

w= mean_mat * transpose(g_I);
C = v_gamma - v_old;
end